package interceptedBlocks

import (
	"github.com/multiversx/mx-chain-core-go/hashing"
	"github.com/multiversx/mx-chain-core-go/marshal"

	"github.com/multiversx/mx-chain-go/common"
	"github.com/multiversx/mx-chain-go/process"
	"github.com/multiversx/mx-chain-go/sharding"
)

// ArgInterceptedBlockHeader is the argument for the intercepted header
type ArgInterceptedBlockHeader struct {
	HdrBuff                       []byte
	Marshalizer                   marshal.Marshalizer
	Hasher                        hashing.Hasher
	ShardCoordinator              sharding.Coordinator
	HeaderSigVerifier             process.InterceptedHeaderSigVerifier
	HeaderIntegrityVerifier       process.HeaderIntegrityVerifier
	ValidityAttester              process.ValidityAttester
	EpochStartTrigger             process.EpochStartTriggerHandler
	EnableEpochsHandler           common.EnableEpochsHandler
	EpochChangeGracePeriodHandler common.EpochChangeGracePeriodHandler
}
